ER-Notation: Chen vs. Crow’s Foot

m:n-Beziehung am Beispiel „Studenten belegen Kurse“
FIAE / FISI · LF5

Szenario

Studenten belegen Kurse. Geschäftsregeln:

Es liegt also eine m:n-Beziehung mit Beziehungsattributen vor.

1Chen-Notation (ERM)

StudentKursmnbelegtNoteDatum
Chen-Notation: Raute löst die m:n-Beziehung, Attribute hängen an der Raute
Chen-Regel: Die Raute „belegt“ modelliert die Beziehung. Beziehungsattribute (Note, Datum) werden als Ovale an die Raute gehängt. Die Kardinalität steht als m bzw. n an den Verbindungslinien. Eine Hilfstabelle wird im konzeptionellen Diagramm nicht gezeichnet.

2Crow’s Foot – konzeptionell

Studentstudent_idnameemailKurskurs_idtitelcreditsm : n
Direkte m:n-Beziehung – Krähenfuß an beiden Enden
Wichtige Korrektur gegenüber der alten Vorlage: Konzeptionell wird m:n durch einen Krähenfuß an beiden Enden dargestellt („viele zu viele“). Die frühere Schreibweise ||——<<——|| war falsch, weil || („genau eins“) und Krähenfuß sich am selben Ende widersprechen.

3Crow’s Foot – logisch / Implementierung

Studentstudent_idnameemailStudent_Kursstudent_idkurs_idnotebelegung_datumKurskurs_idtitelcredits
Auflösung der m:n-Beziehung über die Zwischentabelle „Student_Kurs“

Unterstrichen + fett = Primärschlüssel · kursiv + blau = Fremdschlüssel

Implementierung: Die Zwischentabelle „Student_Kurs“ wird explizit gezeichnet. Sie enthält beide Fremdschlüssel (als zusammengesetzten Primärschlüssel) plus die Beziehungsattribute Note und Belegungsdatum.
Lesart: Ein Student hat 0..n Belegungen – ein Kurs hat 0..n Belegungen.

4Resultierende SQL-Tabellen

CREATE TABLE Student ( student_id INT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100) ); CREATE TABLE Kurs ( kurs_id INT PRIMARY KEY, titel VARCHAR(100), credits INT ); CREATE TABLE Student_Kurs ( student_id INT, kurs_id INT, note DECIMAL(2,1), belegung_datum DATE, PRIMARY KEY (student_id, kurs_id), FOREIGN KEY (student_id) REFERENCES Student(student_id), FOREIGN KEY (kurs_id) REFERENCES Kurs(kurs_id) );

Zusammenfassung für die IHK-Prüfung

Chen-NotationCrow’s Foot
m:n als Raute modellierenKonzeptionell: direkter Krähenfuß an beiden Enden
Beziehungsattribute an die RauteLogisch: Zwischentabelle als eigenes Rechteck
Kardinalität als m / n an der LinieZwischentabelle = beide FKs + Beziehungsattribute
keine Hilfstabelle im DiagrammFK verweist auf PK der referenzierten Tabelle
bfw – Unternehmen für Bildung · Standort Lübeck · Lernfeld 5 / Modul F – Datenbanken